/*
 *    Copyright (c) 2018-2025, cloud All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: cloud
 */

package com.fuyao.cloud.asset.vo.ac;

import com.baomidou.mybatisplus.annotation.*;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 验收清单
 *
 * @author liyue
 * @date 2021-12-03 09:44:19
 */
@Data
@ApiModel(value = "验收清单")
public class AcListVO {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value="主键ID")
    private Long id;
    @ApiModelProperty(value="验收单ID")
    private Long acId;
	@TableField(fill = FieldFill.INSERT)
	@ApiModelProperty(value="创建人ID")
	private Integer createId;
    @ApiModelProperty(value="创建人姓名")
    private String createBy;
    @ApiModelProperty(value="状态：默认为0{0：草稿、1：处理中、2：已审批、3：已完成、4：作废}状态值根据父单的更新，已完成状态根据单项入库数量等于采购数量并且验收单完成后更新为已完成 ")
    private Integer status;
    @ApiModelProperty(value="父订单ID")
    private Long parentId;
    @ApiModelProperty(value="父订单单号")
    private String parentCaseid;
    @ApiModelProperty(value="创建人所属OU的全称")
    private String deptFullname;
	@TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建人所属OU的ID")
    private Integer deptId;
	@TableField(fill = FieldFill.INSERT)
    @ApiModelProperty(value="创建时间")
    private LocalDateTime createTime;
    @ApiModelProperty(value="批次号")
    private String batchnumber;
    @ApiModelProperty(value="资产分类全编码")
    private String classifiedCode;
    @ApiModelProperty(value="资产分类全名称")
    private String classified;
    @ApiModelProperty(value="资产分类名称")
    private String ctiName;
    @ApiModelProperty(value="资产分类ID")
    private Long ctiId;
    @ApiModelProperty(value="照片")
    private String photo;
    @ApiModelProperty(value="条形码")
    private String barcode;
    @ApiModelProperty(value="名称")
    private String name;
    @ApiModelProperty(value="规格型号")
    private String model;
    @ApiModelProperty(value="计量单位")
    private String unit;
    @ApiModelProperty(value="单价")
    private BigDecimal price;
    @ApiModelProperty(value="总价")
    private BigDecimal amount;
    @TableField(exist = false)
    private Long amountLong;
    @ApiModelProperty(value="合同或发票ID")
    private Long contractId;
    @ApiModelProperty(value="合同或发票编号")
    private String contractNumber;
    @ApiModelProperty(value="合同或发票名称")
    private String contractName;
    @ApiModelProperty(value="供应商ID")
    private Long supplierId;
    @ApiModelProperty(value="供应商名称")
    private String supplierName;
    @ApiModelProperty(value="存放房间名称")
    private String houseName;
    @ApiModelProperty(value="存放房间ID")
    private Long houseId;
    @ApiModelProperty(value="存放位置名称")
    private String locationName;
    @ApiModelProperty(value="存放位置id")
    private Long locationId;
    @ApiModelProperty(value="存放地点全名称")
    private String fullLocation;
    @ApiModelProperty(value="采购方式01：邀标、02：自采:03：政府采购")
    private String method;
    @ApiModelProperty(value="详细配置")
    private String detailed;
    @ApiModelProperty(value="申请数量")
    private BigDecimal quantity;
    @ApiModelProperty(value="订购数量")
    private BigDecimal orderQuantity;
    @ApiModelProperty(value="已采购数量")
    private BigDecimal purchasedQuantity;
    @ApiModelProperty(value="已到货数量")
    private BigDecimal arrivedQuantity;
    @ApiModelProperty(value="备注")
    private String remarks;
	@ApiModelProperty(value="产品ID")
	private Long sauId;

	@ApiModelProperty(value="单据类型：默认为ALL{ DEVICE:资产类；CONSUMABLES：易耗品；All:混合}")
	private String type;
	@ApiModelProperty(value="货币类型默认人民币：人民币：、欧元：欧元、美元：美元、法元：法元")
	private String currencyType;

	public Long getAmountLong(){
		return this.amount.longValue();
	}

}
